package com.mallcloud.mall.mall.api.entity;


import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.mallcloud.mall.common.core.util.ValidGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@ApiModel(value = "MallUserInfoModel", description = "注册用户")
@Data
@TableName("USERSINFO")
public class MallUserInfoModel implements Serializable {
	private static final long serialVersionUID = 1L;

	@JsonSerialize(using = ToStringSerializer.class)
	@NotNull(message = "ID为空", groups = {ValidGroup.Update.class})
	@TableId(value = "uiid", type = IdType.ASSIGN_ID)
	@ApiModelProperty("序号")
	private Long id;

	@ApiModelProperty("头像图片地址")
	@TableField("UIHEADPORTRAIT")
	private String avatar;

	@ApiModelProperty("昵称")
	@TableField("UINICKNAME")
	private String nickname;

	@ApiModelProperty("我的车牌")
	@TableField("UIVEHICLELICENSE")
	private String vehicleLicense;

	@ApiModelProperty("我的地址-详细地址")
	@TableField("UIADDRESS")
	private String address;

	@ApiModelProperty("会员卡条形码地址")
	@TableField("UIBARCODE")
	private String barcode;

	@ApiModelProperty("会员卡二维码地址")
	@TableField("UIQRCODE")
	private String qrcode;

	@ApiModelProperty("会员卡正面地址")
	@TableField("UICARDFACE")
	private String cardFace;

	@ApiModelProperty("会员卡号")
	@TableField("UINO")
	private String cardNo;

	@ApiModelProperty("会员登录密码")
	@TableField("UIPASSWORD")
	private String password;

	@ApiModelProperty("会员注册日期")
	@TableField(value = "UIDATETIME", fill = FieldFill.INSERT)
	private Date createTime;

	@ApiModelProperty("会员手机号")
	@TableField("UIMOBILE")
	private String mobile;

	@ApiModelProperty("会员注册类型（0正常注册 1MIS原有会员补充注册）")
	@TableField("UIREGISTERTYPE")
	private BigDecimal registerType;

	@ApiModelProperty("我的地址-姓名")
	@TableField("UIADDRESS_XM")
	private String addressOfName;

	@ApiModelProperty("我的地址-手机号")
	@TableField("UIADDRESS_DH")
	private String uiaddressOfPhone;

	@ApiModelProperty("我的地址-省")
	@TableField("UIADDRESS_P")
	private String uiaddressOfProvince;

	@ApiModelProperty("我的地址-市")
	@TableField("UIADDRESS_C")
	private String uiaddressOfCity;

	@ApiModelProperty("我的地址-县")
	@TableField("UIADDRESS_A")
	private String uiaddressOfCountry;

	@ApiModelProperty("会员类型(O老会员,N新会员)")
	@TableField("UIDTYPE")
	private String vipType;

	@ApiModelProperty("会员加密卡号")
	@TableField("UIDCDMEXNO")
	private String vipCardNoEncryption;

	@ApiModelProperty("微信号")
	@TableField("UIWXH")
	private String wxNo;

	@ApiModelProperty("身份证号")
	@TableField("UISFZH")
	private String idCardNo;

	@ApiModelProperty("工作单位（个体户、企业、事业、政府、其他）")
	@TableField("UIGZDW")
	private String workUnit;

	@ApiModelProperty("微信openid")
	@TableField("UIWXOPENID")
	private String wxOpenid;

	@ApiModelProperty("兴趣爱好（电影、时装、美食、 美容、 亲子、 运动）")
	@TableField("UIXQHH")
	private String hobby;

	@ApiModelProperty("会员姓名")
	@TableField("UIHYXM")
	private String vipName;

	@ApiModelProperty("小区编码（USERSINFO_XQ的ID）")
	@TableField("UIXQBM")
	private String communityCode;

	@ApiModelProperty("会员生日（阴历）")
	@TableField("UIHYSR")
	private Date vipBirthday;

	@ApiModelProperty("会员结婚纪念日")
	@TableField("UIHYJHJNR")
	private Date vipWeddingAnniversary;

	@ApiModelProperty("性别")
	@TableField("UISEX")
	private String sex;

	@ApiModelProperty("推广渠道")
	@TableField("UITGQD")
	private String promotionChannel;

	@ApiModelProperty("用工ID")
	@TableField("UIYGID")
	private String employmentId;

	@ApiModelProperty("ERP门店")
	@TableField("ERPMD")
	private String erpStore;

}
